637a1b92127127e9c7935775005a7de65e8e8a41,rx_paparazzo/src/main/java/com/fuck_boilerplate/rx_paparazzo/interactors/GetPath.java,GetPath,getPath,#,52
Before Change
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
}
return getDataColumn(context, contentUri, "_id=?", new String[] {document.id});
}
}
else if ("content".equalsIgnoreCase(uri.getScheme())) {
After Change
private Observable<String> getPath() {
boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
Context context = targetUi.activity();
String filePath = null;
if (uri == null) {
return null;
}
if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
if (isExternalStorageDocument(uri)) {
Document document = getDocument(uri);
if ("primary".equalsIgnoreCase(document.type)) {
filePath = Environment.getExternalStorageDirectory() + "/" + document.id;
}
} else if (isDownloadsDocument(uri)) {
String id = DocumentsContract.getDocumentId(uri);
Uri contentUri = ContentUris.withAppendedId( Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
filePath = getDataColumn(context, contentUri, null, null);
} else if (isMediaDocument(uri)) {
Document document = getDocument(uri);
Uri contentUri = null;
if ("image".equals(document.type)) {
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
}
else if ("video".equals(document.type)) {
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
}
else if ("audio".equals(document.type)) {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
}
filePath = getDataColumn(context, contentUri, "_id=?", new String[] {document.id});
}
}
else if ("content".equalsIgnoreCase(uri.getScheme())) {
filePath = getDataColumn(context, uri, null, null);
}
else if ("file".equalsIgnoreCase(uri.getScheme())) {
filePath = uri.getPath();
}
if (filePath == null) {
return downloadImage.with(uri).react();
}